package com.ripservice.mapper;

import com.ripservice.entity.SimulationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SimulationMapper {

    /**
     * 插入新的仿真记录
     */
    int insertSimulation(SimulationEntity simulation);

    /**
     * 根据ID查询仿真记录
     * @param id 仿真ID
     * @return 仿真记录
     */
    SimulationEntity findById(@Param("id") Long id);

    /**
     * 查询所有仿真记录
     */
    List<SimulationEntity> findAllSimulations();

    /**
     * 更新仿真状态
     * @param simulation 仿真记录
     */
    void updateSimulation(SimulationEntity simulation);

    /**
     * 查询某个拓扑下的所有仿真记录
     * @param topologyId 拓扑ID
     * @return 仿真记录列表
     */
    List<SimulationEntity> findSimulationsByTopology(@Param("topologyId") Long topologyId);

    /**
     * 删除某个仿真记录
     * @param id 仿真ID
     */
    void deleteSimulation(@Param("id") Long id);
}